package src.rmi;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Set;

import src.common.MessageStatus;
import src.dto.LightMailBoxDTO;
import src.dto.MailBoxDTO;
import src.dto.OutgoingMessageDTO;

public interface ServiceDTO extends Remote {

	MailBoxDTO signIn(String nameMailBox,final String passMailBox) throws RemoteException;
	
	void sendMessage(OutgoingMessageDTO outgoingMessageDTO) throws RemoteException;
	
	void changeMessageStatus(long idIncomingMessage,MessageStatus messageStatus)throws RemoteException;
	
	void deleteIncomingMessage(final long idIncomingMessage)throws RemoteException;
	
	Set<OutgoingMessageDTO> getOutgoingMessagesByMailBox(long idMailBox)throws RemoteException;
	
	Set<LightMailBoxDTO>getContactsByMailBox(long idMailBox)throws RemoteException;
	
	boolean changePassword(long idMailBox,String oldPass,String newPass)throws RemoteException;
}